Most major standard video codecs (i.e., coders and decoders) achieve a data compression advantage over still image coding techniques by using a block-based, motion-compensated prediction scheme. Such schemes are fully familiar to those of ordinary skill in the art and include, for example, the well known video coding standards ITU-T/H.261, H.262, H.263, and H.264, and the corresponding ISO/IEC-11172 (MPEG-1), ISO/IEC 13818 (MPEG-2), ISO/IEC 14496 (MPEG-4/ASP), and ISO/IEC 14496-10 (MPEG-4/AVC).
Block-based schemes treat (typically rectangular) regions of pixels (i.e., picture elements) as a single unit, and typically encode such units using one of two broad methods. The first method is to independently code the block without reference to other blocks at all (i.e., “intra-coding”), or to code a block relative to some surrounding pixel values (i.e., “intra-prediction”). The second method is to code a block by providing a pointer to a similar, previously coded block which is used as a reference, and to further provide an error block that indicates the differences between the reference and the block to be coded (i.e., inter-coding). This latter method works extremely well because video frames tend to be very similar to other nearby video frames, with many of the changes therebetween due to portions of the scene moving between frames—hence, the term “motion-compensated prediction” is used to indicate that these reference block pointers are compensating for object or camera motion. Note that inter-coding is generally more efficient than intra-coding. (The efficiency of a codec in this context refers to the ability of a codec to represent an image with a minimum of distortion by using as few bits as possible.)
In recent years, many efficiency gains have been realized by providing increasingly better ways of specifying a reference block, including “bi-directional prediction,” which uses multiple reference blocks (for example, one from a previous-in-time video frame and one from a future-in-time video frame—even though each of these video frames must necessarily have been previously decoded before the given video frame can be decoded), or by using variable size reference blocks. However, even with the best of the current video coding techniques, the bandwidth required for video transmission systems such as, for example, HDTV (High Definition Television), and for wireless video applications still exceeds the capabilities of these coding techniques and limits either the quality or the quantity of the resultant video.